// getDateFormat('-')   // 年-月-日 时:分:秒
// getDateFormat('/')   // 年/月/日 时:分:秒


/**
 * 字符串补另（注：传递来的数字长度不勾2位就左侧补充0
 * @param {String|Number} data  比如：日期数据4
 * @returns 过滤后的数据
 */
 function zeroize(data) {
  return String(data).length === 1 ? '0'+data : data
}

/**
* 1快速获取当前时间
* @param {String} str 举例：YmdHis  Y/m/d 
* @returns String
*/
function format(str)
{
  var d = new Date()
  str = str.replaceAll('Y', d.getFullYear())
  // var m = String(d.getMonth()+1).padStart(2, 0)
  // str = str.replaceAll('m', m)
  str = str.replaceAll('m', zeroize(d.getMonth()+1)  )
  str = str.replaceAll('d', zeroize(d.getDate())     )
  str = str.replaceAll('H', zeroize(d.getHours())    )
  str = str.replaceAll('i', zeroize(d.getMinutes())  )
  str = str.replaceAll('s', zeroize(d.getSeconds())  )
  return str
}
//随机生成16进制色
// 需求1：随机颜色  #20CD4F
// # + 6位随机  范围 0-9A-F

// 1-写功能
// 2-写空函数
// 3-将1放到2中
// 4-微调

/**
 * 2随机颜色
 * @returns String
 */
 function randomColor() 
 {
     var colorArr = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'] 
     var min = 0
     var max = colorArr.length-1
     var first = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     var two = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     var three = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     var four = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     var five = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     var six = colorArr[ Math.floor(Math.random()*(max-min+1)+min) ]
     // console.log('#'+first+two+three+four+five+six)
     return '#'+first+two+three+four+five+six
 }
 
 // randomColor() 
 // randomColor() 
 // randomColor() 


/**3刚刚多少秒之前
 * @param {String} date
 * @return string
 */
//JavaScript函数：
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;

function dateFormat(date){
var now = new Date().getTime();
var old = new Date(date)
var diffValue = now - old;
console.log(diffValue)

if(diffValue < 0){
 //若日期不符则弹出窗口告之
 alert("结束日期不能小于开始日期！");
 }

var monthC =diffValue/month;
var weekC =diffValue/(7*day);
var dayC =diffValue/day;
var hourC =diffValue/hour;
var minC =diffValue/minute;
console.log(minC)

if(monthC>=1){
result="发表于" + parseInt(monthC) + "个月前";
} else if(weekC>=1){
result="发表于" + parseInt(weekC) + "周前";
} else if(dayC>=1){
result="发表于"+ parseInt(dayC) +"天前";
} else if(hourC>=1){
result="发表于"+ parseInt(hourC) +"个小时前";
} else if(minC>=1){
 result="发表于"+ parseInt(minC) +"分钟前";
}else
result="刚刚发表";
return result;
}

// 4判断浏览器内核、手机系统等，使用 browser.userAgent.mobile
var browser = {
  userAgent: function () {
      var ua = navigator.userAgent;
      var ualower = navigator.userAgent.toLocaleLowerCase();
      return {
          trident: ua.indexOf('Trident') > -1, // IE内核
          presto: ua.indexOf('Presto') > -1, // opera内核
          webKit: ua.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
          gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') == -1, // 火狐内核
          mobile: !!ua.match(/AppleWebKit.*Mobile.*/) || !!ua.match(/AppleWebKit/), // 是否为移动终端
          ios: !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // IOS终端
          android: ua.indexOf('Android') > -1 || ua.indexOf('Mac') > -1, // 安卓终端
          iPhone: ua.indexOf('iPhone') > -1 || ua.indexOf('Mac') > -1, // 是否为iphone或QQHD浏览器
          iPad: ua.indexOf('iPad') > -1, // 是否为iPad
          webApp: ua.indexOf('Safari') == -1, // 是否web应用程序，没有头部与底部
          QQbrw: ua.indexOf('MQQBrowser') > -1, // QQ浏览器(手机上的)
          weiXin: ua.indexOf('MicroMessenger') > -1, // 微信
          QQ: ualower.match(/\sQQ/i) == " qq", // QQ App内置浏览器（需要配合使用）
          weiBo: ualower.match(/WeiBo/i) == "weibo", // 微博
          ucLowEnd: ua.indexOf('UCWEB7.') > -1, //
          ucSpecial: ua.indexOf('rv:1.2.3.4') > -1,
          webview: !(ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/)) && ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),
          ucweb: function () {
              try {
                  return parseFloat(ua.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
              } catch (e) {
                  if (ua.indexOf('UC') > -1) {
                      return true;
                  }
                  return false;
              }
          }(),
          Symbian: ua.indexOf('Symbian') > -1,
          ucSB: ua.indexOf('Firofox/1.') > -1
      };
  }()
};


/**5获取当前浏览器内核
 * @param
 * @return
 */
 function myBrowser(){
  var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  var isOpera = userAgent.indexOf("Opera") > -1;
  if (isOpera) {
      return "我是 Opera"
  }; //判断是否Opera浏览器
  if (userAgent.indexOf("Firefox") > -1) {
      return "我是 Firefox";
  } //判断是否Firefox浏览器
  if (userAgent.indexOf("Chrome") > -1){
return "我是 Chrome";
}
  if (userAgent.indexOf("Safari") > -1) {
      return "我是 Safari";
  } //判断是否Safari浏览器
  if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
      return "我是 IE";
  }; //判断是否IE浏览器
}
//以下是调用上面的函数
// var mb = myBrowser();
// if ("IE" == mb) {
//   alert("我是 IE");
// }
// if ("FF" == mb) {
//   alert("我是 Firefox");
// }
// if ("Chrome" == mb) {
//   alert("我是 Chrome");
// }
// if ("Opera" == mb) {
//   alert("我是 Opera");
// }
// if ("Safari" == mb) {
//   alert("我是 Safari");
// }


/**6获取当前浏览器设备平台
 * @param
 * @return
 */
var browser = {
  versions: function() {
    var u = navigator.userAgent;
    return {
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Firefox') > -1, //火狐内核Gecko
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
            iPhone: u.indexOf('iPhone') > -1 , //iPhone
            iPad: u.indexOf('iPad') > -1, //iPad
            webApp: u.indexOf('Safari') > -1 //Safari
        };
    }()
}
    function plotForm(){
if (browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad) {
    return '移动端';
}else return 'pc端';
}



/**7获取当前浏览器是否为微信浏览器
 * @param  isWeiXin()   
 * @return  return''
 */
function isWeiXin() {undefined
  var ua = window.navigator.userAgent.toLowerCase();
  if (ua.match(/MicroMessenger/i) == 'micromessenger') {undefined
      return '是微信浏览器';
  } else {undefined
      return '不是微信浏览器';
  }
}

/**
 * 8封装getStyle方法返回标签样式
 * @param {*} tagObj HTML标签  String
 * @param {*} cssAttr css属性  String
 * @returns 
 */
function getStyle(tagObj, cssAttr)
{
    if (window.getComputedStyle)
    {
        // return getComputedStyle(标签对象).CSS属性值 // 当对象的键是变量时用数组语法
        return getComputedStyle(tagObj)[cssAttr]
    } else {
        // return 标签对象.currentStyle.CSS属性值 // 当对象的键是变量时用数组语法
        return tagObj.currentStyle[cssAttr] 
    }
}


/**
 * 获取地址栏参数
 * @param {string} keyWd  需要获取的关键参数
 * @returns string    返回搜索结果
 */
function getParams(keyWd){
    // let param=window.location.search.substring(1)
    let param=window.location.href.split('?')[1]               //获取网址，并？切割为数组，取数组里的第二个数据(即参数数据)  [ie=UTF-8&wd=nihao]
    if(!param) return alert('抱歉！这个网址没有参数!')
    param=decodeURI(param)                                     //加一步汉字解码
    let params=param.split('&')                                //再次将数据(参数)细分切割， ['ie=UTF-8', 'wd=nihao']
    for(let i=0;i<params.length;i++){                          //循环判断所有参数数据
        let tempParamss=params[i].split('=')                   //继续细分切割出单独 参数数组(方便单独返回 参数字符串) ['ie', 'UTF-8'] ['wd', 'nihao']
        if(tempParamss[0]===keyWd) return tempParamss[1]       //判断参数数组，返回对应参数数组 第二个数据(参数对应的字符串)   //  单个数组里的第一个数据(即参数)
    }
    return console.log(`没找到 '${keyWd}' 参数 , '${keyWd}' no find`)
}


/**
 * 设置COOKIE数据
 * @param {string} key 键
 * @param {string} val 数据
 * @param {number} s 时间/s秒
 */
 function setcookie(key, val, s = 10)
 {
     if (typeof val === 'object') val = JSON.stringify(val)
     const d = new Date 
     d.setTime( d.getTime()-1000*60*60*8 + 1000*s)
     document.cookie = `${key}=${val}; expires=${d}`
 }
 
  
 /**
  * 获取COOKIE数据
  * @param {string} key 键
  * @returns 键对应的数据
  */
  function getcookie(key)
  {
      let arr = document.cookie.split('; ')
      for (let i=0; i<arr.length; i++)
      {
          let temp = arr[i].split('=')
          if (temp[0] === key)  return temp[1]
      }
  }
  
 /**
  * 删除COOKIE数据
  * @param {string} key 键
  */
 function removecookie(key)
 {
     setcookie(key, null, -1)
 }
 
